\section{Introduction}
\label{sec:introduction}
The main goal of this assignment was to do machine-oriented programming in C. In order to use sounds in the next assignment a ABDAC should be applied. This device is part of the AT32AP7000 microcontroller that was used. As the name proposes the ABDAC takes digital numbers from certain registers and converts them into an analog signal. In order for us to understand how sound can be generated from digital samples, we needed to study a little bit of sound and musical theory. The lessons learned here will be presented in Section \ref{subsec:musicTheory}. After that the general approach for creating sounds and the solution for creating certain jingles or melodies is presented. Further we will evaluate our solution in Section \ref{sec:results} Finally, the assignment will be evaluated and summarized with Sections \ref{sec:evaluation} and \ref{sec:conclusion}.
\\\\
Since we are going to use the results from this assignment in the final assignement, we wanted a versatile framework for audio playback. Instead of just experimenting with audio and find three sounds sounding cool, we aimed a bit higher. The features we wanted to support was the ability to play actual notes in different octaves with varying length. In addition we wanted volume control per note, stereo playback and simultaneous playback of multiple audio cues. Among these features we succeded in all but the multiple cues playback. Another problem with our current solution is that we load all the data for audio cues into the main memory, and therefore quickly run out of memory. For the final assignement we will need to move this data into the ROM. These shortcomings of our solution will be commented in Section \ref{sec:results}.